home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / mxcode / adpcmsrc / testd.c < prev   
C/C++ Source or Header  |  1993-10-17  |  1KB  |  50 lines

  1. /* testd - Test adpcm decoder */
  2.  
  3. #include "adpcm.h"
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include <dos.h>
  8.  
  9. struct adpcm_state state;
  10.  
  11. #define NSAMPLES 1000
  12.  
  13. char   abuf[NSAMPLES/2];
  14. short  sbuf[NSAMPLES];
  15.  
  16. main() {
  17.     FILE    *f, *f2;
  18.     char    fname[64],fname2[64];
  19.  
  20.     if (_argc < 3 )
  21.     {
  22.         printf("Usage: %s infile outfile\r\n", _argv[0]);
  23.         exit(1);
  24.     }
  25.     strcpy(fname,_argv[1]);
  26.     strcpy(fname2,_argv[2]);
  27.  
  28.     if ( NULL == (f2=fopen(fname2,"wb")) )
  29.     {
  30.         printf("Error opening '%s', terminating..\r\n", fname2);
  31.         exit(4);
  32.     }
  33.     if ( NULL == (f=fopen(fname,"rb")) )
  34.     {
  35.         printf("Error opening '%s', terminating..\r\n", fname);
  36.         exit(4);
  37.     }
  38.  
  39.     while( fread(&abuf,sizeof(abuf),1,f) )
  40.     {
  41.         adpcm_decoder(abuf, sbuf, sizeof(abuf), &state);
  42.         fwrite(&sbuf,sizeof(sbuf),1,f2);
  43.     }
  44.     fclose(f);
  45.     fclose(f2);
  46.     printf("Final valprev=%d, index=%d\r\n",
  47.            state.valprev, state.index);
  48.     exit(0);
  49. }
  50.